package com.cc.springboot_test.aop;

import org.aspectj.lang.annotation.Pointcut;

/**
 * 公共切入点
 */
public class CommonPointCutConfig {

    // 拦截所有 @RequestMapping
    @Pointcut("@annotation(org.springframework.web.bind.annotation.RequestMapping)")
    public void requestMappings() {}

    // 拦截 @Controller 下面所有的 @RequestMapping
    @Pointcut("@within(org.springframework.stereotype.Controller) && requestMappings()")
    public void controllers() {}

    // 拦截 @RestController 下面所有的 @RequestMapping
    @Pointcut("@within(org.springframework.web.bind.annotation.RestController) && requestMappings()")
    public void restControllers() {}
}
